Here is a list of some features that I'm thinking of adding to Mail Drop. If you have any about regarding this list, or have other features that you would like to see added (no guarantees, though) send email to MailDrop-Comments@baylor.edu and let me know.
Definite Additions
Ñ Multiple mailboxes!
Ñ Drag and drop attachments/clippings/addresses/etc.
Ñ Support messages > 32K. Will probably use WASTE library.
Ñ Rewrite of address book functionality.
Ñ Plug-In support for "external" address books (e.g., ph servers, pine address book files, Eudora nickname files) and text manipulation (e.g, spell checkers, ROT-13, encryption) etc.
Ñ Kerberos authentication. Will probably use Cornell's KClient driver.
Ñ Apple Guide support.
Ñ Better preference interfaces for Attachments and URL helpers.
Stuff I'm Considering
Ñ POP support.
Ñ Internet Config. If I decide to support IC, Mail Drop would be IC aware, but not IC dependent.
Ñ Some type of message filtering system.
Ñ Real AppleScript support.
____________________________________
An Important Safety Tip
creeping featurism kree'ping fee'chr-izm n. 1. Describes a systematic tendency to load more chrome and features onto systems at the expense of whatever elegance they may have possessed when originally designed. See also feeping creaturism. "You know, the main problem with BSD UNIX has always been creeping featurism." 2. More generally, the tendency for anything complicated to become even more complicated because people keep saying "Gee, it would be even better if it had this feature too". The result is usually a patchwork because it grew one ad-hoc step at a time, rather than being planned. Planning is a lot of work, but it's easy to add just one extra little feature to help someone ... and then another ... and another.... When creeping featurism gets out of hand, it's like a cancer. Usually this term is used to describe computer programs, but it could also be said of the federal government, the IRS 1040 form, and new cars. A similar phenomenon sometimes afflicts conscious redesigns; see second-system effect. See also creeping elegance.
creeping featuritis kree'ping fee'-chr-i:`t*s n. Variant of creeping featurism, with its own spoonerization: `feeping creaturitis'. Some people like to reserve this form for the disease as it actually manifests in software or hardware, as opposed to the lurking general tendency in designers' minds. (After all, -ism means `condition' or `pursuit of', whereas -itis usually means `inflammation of'.)
(From The on-line hacker Jargon File, version 2.9.6, 16 AUG 1991)
____________________________________
Known Limitations, Bugs, Glitches, etc.
Ñ The status window should be a floating window.
Ñ Should be able to save window positions, etc.
Ñ Windows should have zoom boxes.
Ñ Need to add balloon help.
Ñ BinHex source should use the CFile class like the AS/AD code.
Ñ Should be able to extract addresses easily from messages to put into address books.
Ñ Should be able to forward/resend from the mailbox (no editing).
Ñ Need to add "Read Next Message" menu item.
Ñ Undo doesn't always work like it should.
Ñ Sometimes update and activate events are "lost".
Ñ Problems with PowerBooks sleep mode?
Ñ Sometimes sig doesn't work?
____________________________________
Version History
1.1
Ñ Fixed (again!) that stoopid (un)delete update bug.
Ñ Mail Drop does an IMAP SEARCH for RECENT not NEW.
Ñ Fixed message list update bug.
Ñ Page Up/Page Down/Home/End/Cmd-Up/Cmd-Down keys for lists now work correctly.
Ñ Bottom of message list is no longer messed up after purging.
Ñ Fixed bug (for sure this time) where Mail Drop would not ping server (i.e., auto-update) if in background and was currently notifying.
Ñ Fixed yet another bug that would crash SE's at startup.
Ñ Saving multiple messages which have :'s in the subject or long (> 31 chars) subjects now works.
1.1b12
Ñ Reading multiple messages opens the windows in the correct order by fetching the messages in reverse order.
Ñ Added option to disable the purge query when closing INBOX.
Ñ Cmd-. cancels reading/printing/saving multiple messages from the mailbox window (after the current msg is finished).
Ñ Opening INBOX now optionally selects the first recent message.
Ñ Added pref on whether to show From or Reply-To addresses by default.
Ñ Signature preferences dialog displays the length of the longest line.
Ñ Width of text field for entering signature is now correct (80 chars).
Ñ Obscured cursors remain that way.
Ñ Fixed bug where SysBeep was called instead the new mail sound.
Ñ Fixed bug where Mail Drop would sometimes try to update the INBOX while in the middle of purging messages. (Would cause a fatal lock error.)
Ñ Fixed problems with items in the message list not always getting updated when (un)deleted.
Ñ Fixed (I think) bug where auto-updating wasn't.
Ñ Passwords with space characters should now work.
Ñ Opening a saved outgoing message no longer appends sig to body of msg when "In message window" option is set.
Ñ Fixed bug (I think) that would sometimes put garbage in a reply when length of included text was 0.
Ñ Fixed "Save As" bug when opening saved messages.
Ñ Opening saved messages the file name for the window title, not the message subject.
Ñ Incoming messages with long subjects no longer put garbage in the window titles and windows menu.
Ñ Fixed bug where status window would sometimes be placed offscreen on systems with multiple monitors.
Ñ Fixed several interface glitches.
1.1b11
Ñ MIME blurb (for non-MIME readers) has correct ftp URL for MPack/munpack. I think this was done in the last update but I forgot to mention it.
Ñ Fixed (?) weird bug that crashed SE's when Mail Drop was first lauched.
Ñ Pressing shift-tab in mail out documents reverses the direction that lists and text fields are selected.
Ñ Can now specify whether or not the IMAP server is also an SMTP server if there is an SMTP server is specified. If the IMAP server *is* an SMTP server (i.e., this option is not set) it will be tried first before the optional SMTP servers and not after. So, if you want the IMAP server to be tried last, you have to turn the "IMAP is not SMTP" option on and specify the IMAP server as your second SMTP server. Got all that?
Ñ Mail Drop now uses the X-MAC-CREATOR and X-MAC-TYPE attribute/value pairs that Eudora uses to indicate the type of file that is being attached.
Ñ Attached files' true icons are displayed in the lists if the file is encoded as AppleSingle/AppleDouble/BinHex (if available) or if the above creator and type attribute/value pairs are included.
Ñ An attempt to initialize MacTCP is done at startup and if an error occurs the user is alerted and some functions are disabled (e.g., "Open INBOX").
Ñ Changed the preferences resources again, hopefully for the last time. Now there is a different pref resource for each topic in the preferences dialog.
Ñ Added a check for a 'LOCK' (ID 128) resource in a preferences file. If it is present, then Mail Drop will not save users' prefs changes to the file even if the Can Save Prefs option is true. This is really to allow users in a lab environment to run Mail Drop from one of several pre-configured prefs files (e.g., to use different IMAP servers). Not very elegant, but should do the job.
Ñ No longer crashes when Mail Drop is sent into background immediatelyafter launching (e.g., by accidentally triple-clicking the icon) and the notification alert comes up.
Ñ Added a "Select" button to the URL Helpers dialog to choose the application. I should do something similar for the attachments, but I that will wait until a major rewrite that pref interface code.
Ñ Now uses a 'TCP#' resource that specifies the IMAP port (e.g., our site runs a test IMAP server on a different port than 143) as well as various TCP timeout values.
Ñ Shouldn't crash when the IMAP connection times out and Mail Drop is in the background. Haven't been able to test this much (I have a fast network connection and our IMAP server is a fast machine...too bad ;-), so let me know if this is not the case.
Ñ When printing multiple messages, text for all messages is no longer fetched from server if user cancels.
Ñ Now fetches message info from the server when needed (when displayed) rather than fetching the info for all of the messages when opening the mailbox.
Ñ Send button on outgoing messages is disabled when the message can't be sent (i.e., no recipients).
Ñ The text of a selected "unexpanded" recipient list is drawn correctly on black and white displays.
Ñ Sig in window option no longer makes a new message "not-sent" so you don't get the alert if you close a new message window immediately after creating it.
Ñ Added an option whether or not to display the alert when a message is sent successfully.
Ñ Attachment code (esp. base64 decoding) now handles memory a little better. This also fixed a memory leak when downloading files (which was really bad when working with very large files).
Ñ Text attachments sent as AppleDouble are now decoded correctly.
Ñ Fixed preferences dialog bug (could not get DITL 201 rsrc error) when preferences was opened after opening a saved outgoing message.
1.1b10
Ñ Punted the idea of "power user prefs" and removed the admin pref for it.
Ñ Fixed typeahead problems when accessing server (beachball cursor). There are still some problems with windows sometimes losing update events, etc. when accessing server.
Ñ Mail Drop handles handles its fg/bg state and the notification manager a little better when displaying alerts. Also, the connection is kept open (i.e., the server is "pinged" periodically when Mail Drop is "notifying").
Ñ Mail Drop again releases TCP streams when fatal errors occur.
Ñ Changed color icons to black & white icons for messages in mailbox window. Also, modified the hilighting method so the icons are just inverted rather than dimmed. This might make it a little easier to distinguish selected unread messages, and unselected read msgs.
Ñ Moved "New Mail Notification" option from Mailbox to Mail In prefs dialog.
Ñ Added support for multiple, ok 2 more, SMTP servers. The default is to use the IMAP server, but if you specify other servers, it will try those first. The IMAP server will still be tried, if there is a problem connecting to the specified SMTP servers, but last.
Ñ Font preferences menu item is disabled.
Ñ The "Fetching info for 1-20" status string now includes the total number of messages that it is going to fetch.
Ñ If an address is on the clipboard (i.e., scrap is of type 'Addr') pasting in the recipient edit dialog fills out both the address and real name as well as the To/CC/BCC status.
Ñ You can now paste a "text" address, in various forms, directly into a recipient list and address book. Mail Drop will parse it as well as it can.
Ñ Pasting and typing text into recipient edit dialog is now more lenient. Instead of some obscure message, invalid chararacters are replaced by hyphens.
Ñ Can now enter a space character as part of an address by pressing opt-space. (A regular space is still converted into underscore.)
Ñ Addresses containing spaces or other special characters are quoted.
Ñ Disabled Defaults button in preferences dialog until I rewrite the prefs code (again?!) so that clicking default doesn't set *all* prefs to factory settings.
Ñ Added URL Helper support. Cmd-click a URL and it will send a "Get URL" (GURL) AppleEvent to the appropriate application (if available). Unlike NewsWatcher, Mail Drop won't fake URLs by creating and opening a document. If the URL helper app doesn't support the Get URL AE, it won't work. The URLs that Mail Drop recognizes are those listed in RFC-1738 (except "file:"). Mail Drop doesn't yet support "slack" mailtos. The default URL helpers are stored in the 'URLH' resource, but don't modify it (well, don't add/delete/move items) except to change the URLs' applications).
Ñ Choosing "Mail Drop Help" from the Guide/Balloon Help menu will do aget URL for the online http documentation. If the specified http helper isn't available the menu item is disabled. Mail Drop no longer looks for the "Mail Drop Help" text file.
Ñ A null character is no longer added to the end of text document windows when opening a text file.
Ñ Mail Drop will no longer allows a file that has no data fork to be sent as AppleDouble.
Ñ Address types (To, CC, BCC) information is now saved and restored from address book documents.
Ñ Temporary files are again stored in temporary items folder and not in the default folder.
Ñ Subject & From address are no longer swapped when opening messages that were saved as documents.
Ñ Pressing the forward delete [X> key no longer inserts a "delete" character but instead does a forward delete.
Ñ Messages in the INBOX show the Reply-To address and not the From address in the list. Should this be an option?
Ñ Replying to a message that has a reply-to address will ask whether the reply should be sent to the reply-to or the from address. (The reply-to is the default.)
Ñ Replying to a message that has a reply-to address now have the correct "real name" instead of the real name forthe From and address of the Reply-To.
Ñ Clicking on the sender's address shown at the top of a message will toggle between the Reply-To: and the From: addresses (if there is a Reply-To).
Ñ Holding the option key while opening the INBOX will allow user to specify the maximum number of messages to show in the INBOX. This should make it possible for folks who have *lots* of mail to delete and purge messages in pieces.
Ñ Mail Drop now puts brackets [] around the host part of an address if the IMAP server (or alt mail domain) is specified as a domain-literal (i.e., the IP number and not the IP name) *if* the host part is not specified in the recipient list. In other words, if the server is 1.2.3.4 and the recipient is joe (no host) then when Mail Drop appends the host to the recipient, it will be joe@[1.2.3.4]. If the recipient says Joe@6.7.8.9 or even Joe@1.2.3.4 they will be used as entered. Users should specify Joe@[6.7.8.9].
Ñ No longer crashes after attempting to open INBOX without a server specified.
Ñ If there is no primary (To) recipient specified for a message, Mail Drop will alert the user and ask if it should really be sent.
Ñ Minor interace changes and fixes.
Ñ A file's "true" icon is displayed in the attachments list in outgoing msgs if available and if the file is being sent as AppleDouble, AppleSingle, BinHex. Otherwise, the "generic" icon is used.
Ñ Double-clicking (or selecting and pressing return) a file in the attachment out list allows user to edit the encoding info and add a description for the attachment.
Ñ Mail Drop no longer opens Page Setup the first time you print. Instead, it will use the default settings.
Ñ An alert is displayed when there is a printer error (esp. when no printer is selected).
1.1b9A
Ñ Fixed bug where Mail Drop would crash on SE's.
Ñ Mail Drop now uses the correct strings when printing an incoming message.
1.1b9
Ñ Added color to incoming mail windows.
Ñ Color/gray is no longer an option. If you've got a color capable Mac then you have to put up with it. (The option was temporary anway.)
Ñ Fixed insertion point bug in incoming messages.
Ñ Uses "temporary memory" to encode outgoing attachments (if necessary).
Ñ Outgoing attachments are now sent in pieces to the SMTP server so they don't have to be all read into memory. This doesn't always work as it should, so I'll keep working on it.
Ñ No longer sends message even if it failed to encode an attachment.
Ñ MacTCP streams are now destroyed if there is a fatal error like running out of memory. Crashes still cause problems, though. Probably should patch ExitToShell as well.
Ñ Added "Default MacMIME Encoding" preference for sending attachments.
Ñ Fixed CSmallButton bug where they would not invert on a color capable Mac but B&W monitor.
Ñ Added option whether or not new messages should open with the expanded top.
Ñ Fixed minor scroll bar updating glitch for text fields.
Ñ Added support for new mail notification. There's just the sound and, if in bg, icon animation. No "You have mail" dialog. (Should there be?)
Ñ Mail Drop now uses the Notification manager if it needs to display an alert and it is in the background.
Ñ Fixed (I think) end of line problems with some systems. Mail Drop was using just LFs for new lines, but now it uses CRLF. Let me know if this causes problems.
Ñ Messages with MIME attachments now have a blurb at the beginning of the message for non-MIME readers.
Ñ Pressing the option key while selecting "Purge" will force a complete update of the message list rather than renumber every message for every message expunged. This makes purging many messages faster.
Ñ Attachments sent as AppleDouble now have the application/applefile part first and the data part second.
Ñ Users can create personal preferences file by pressing the option key while choosing "Preferences". Whatever the current prefs are will be stored in the file. To use a different prefs file, just open it (double-click it, or choose "Open").
Ñ Default "Include Sig" preference is no long set to true.
Ñ Maximum length for addresses and "real names" increased from 80 to 256.
Ñ Double-clicking an incoming attachment saves the attachment.
Ñ Semi-intelligent "Re:" working again so you don't get multiple Re:'s when replying to a reply. It doesn't do the Re(3): thing, though.
Ñ Removed short-cache mode option once and for all.
Ñ You can now switch to another app when Mail Drop is doing something with the server (beachball cursor). Let me know if this causes any wierd problems.
Ñ When mailbox is locked by another process, Mail Drop alerts the user (and puts a lock icon in the mailbox window). Some functions, such as delete and purge, are no longer available.
1.1b8
Ñ Modifying message after sending clears the "have sent" flag.
Ñ Can no longer enter a comma in the address field when editing recipient info.
Ñ Color works better on B&W Macs such as SE/30s and Classic II's.
Ñ No longer crashes when purging mailbox.
Ñ Will use the "default user name" file if CanSavePrefs admin pref is false or if defult user name is empty.
1.1b7
Ñ Clicking the defaults button in the prefs dialog no longer crashes.
1.1b6
Ñ Reply-to in the mail out prefs works.
Ñ Mail Drop will include the signature text in the message window rather than append it at the end. This option can be set in the Signature prefs dialog.
Ñ Replying to messages includes just the selected text.
Ñ Can select all in message list.
Ñ Can now addresses that were copied from text directly into recipient list and address book. Mail Drop will attempt to parse it, but depending on the text being pasted, what gets entered may look odd. Pasting into the recipient dialog is the same, though.
Ñ Clear/Cut and the delete key remove just the selected recipients and not every one.
Ñ Mail Drop no longer updates the msgno's of all the messages in the list while purging if the mailbox is currently closing.
Ñ Fixed bug that would put extra garbage characters at the end of addresses, subject, etc.
Ñ Clicking on an empty recipient list no longer implicitly clicks the "To" button and brings up recipient dialog.
Ñ Added experimental color/3d look for most windows.
Ñ Clicking on the far right of the topics menu in the prefernces dialog works.
Ñ Reading a message that is already open selects that message instead of opening a duplicate message.
1.1b5
Ñ Punted the "have sent" checkmark and "has attachments" paperclip from outgoing messages.
Ñ By popular demand, have put back the "Send" button on outgoing messages.
Ñ Modified how message information is stored (with Mac Handles rather than stdlib malloc). Let me know if this causes any problems.
Ñ Put back the ability to open a mailbox in "short-cache" mode by pressing the option key while opening it. I may make this a preference because this can save a lot of memory if there are a lot of messages.
Ñ Mailbox shows the total amout of all mail at the bottom of the window.
1.1b4
Ñ Clicking on an empty recipient list (outgoing messages) implicitly clicks the "To" button and brings up recipient dialog.
Ñ Fixed a bug where attaching documents > 32K would go into an infinite loop.
Ñ AppleDouble attachments show the AppleDouble icon and not the Unknown icon.
Ñ The "Save Before Closing" dialog draws the default button outline around the OK button and not in the middle of the document window.
1.1b3
Ñ Mail Drop no longer uses the preferences file if the Cant Save Prefs flag is set in the PRFA resource.
Ñ Can now type the letter V in recipients' names and addresses.
Ñ Fixed error in Apple's MacTCP.h (thank you, John Norstad) so messages no longer have the second to last character lost when sent. This was bizarre...
1.1b2
Ñ Not released.
1.1b
Ñ Fixed bug where delete/undelete didn't always work.
Ñ Changed the debug window to a status window that is always available from the Windows menu. Holding the command key when starting Mail Drop will still open in automatically.
Ñ Added a bitmap font (".MonacoFull") that is used instead of monaco. This is because monaco is missing many of the 8bit characters that are specified as part of the standard Mac charset. Printing messages still uses monaco which is then substituted by courier (which has the characters) on PostScript printers. Truetype monaco may be used on non-PS printers, but I'm not sure. Also, I might need to do a similar one for geneva.
Ñ Added interim support for ISO-8859-1 character set. Characters are mapped between Latin 1 and Mac char sets using 'taBL' resources.
Ñ Eventually, non- US-ASCII charsets will be supported via separate fonts.
Ñ Fixed some interface glitches where scollbars were not hidden when a window was deactivated.
Ñ Added some color icon "buttons".
Ñ Added Undo support for text fields. It doesn't work quite right yet.
Ñ Added support (more or less) for MIME extensions for mail headers.
Ñ Fixed bug (for the last time, I hope) where deactivating a text field would sometimes leave the caret drawn.
Ñ Now officially requires System 7 or later.
Ñ Fixed bug (I think) where heap was trashed on PowerMacs.
Ñ Fixed bug where you would get a divide by zero error when resizing some windows.
Ñ Fixed bug where opening an application that was launched while Mail Drop was opened would sometimes crash after Mail Drop had quit. (This was a wierd one...)
Ñ Removed the BinHex attachment hack to be replaced with MIME.
Ñ Added (but disabled) menus for dealing with other mailboxes. Mail Drop doesn't support multiple mailboxes (yet) but I wanted to add the menus so that people will be used to them when it does.
Ñ Changed the code so that Mail Drop uses pointer rather than handle based objects. This can fragment the heap, but not much. The code is a lot easier and cleaner to deal with, too.
Ñ Fixed some nasty bugs that would cause crashes when Mail Drop had a problem encoding or decoding QP/Base64 messages.
Ñ Added support for address books. Eventually you will be able to drag addresses to and from various lists if you have Drag and Drop installed. For now, you have to copy and paste to/from the address book and the list of recipients.
Ñ Fixed a stoopid bug where the local IP name was hosed if it was longer than 32 characters. (Stoopid assumption, not a stoopid bug. Now I make the stoopid assumption that the name is 64 characters or less.)
Ñ Added minimal (i.e., only the required events) AppleScript support. I will add real AS functionality in a future version.
Ñ Ported Mail Drop to from Think C (C+objects) to Metrowerks CodeWarrior and C++. This may have introduced (or at least made apparent) bugs in the code so let me know if there are problems. Of course, it may have fixed some bugs as well. Doh!
Ñ Fixed bug where Mail Drop would crash when opening some messages.
Ñ Fixed bug where Mail Drop would crash when (un)deleting a message whose mailbox was closed.
Ñ Added some support for real message documents. You can now save and re-open incoming and outgoing messages as messages instead of text files. However, attachments (including the list) are not saved. I need to set an option (perhaps in the save dialog box) to allow the user to save in a text file and not a message file if they want to. You might have to rebuild the desktop to get the new document icons.
Ñ Supports incoming (and some outgoing - I'm working on that now) MIME attachments. You can save text/plain, message/rfc822, application/octet- stream, application/postscript, image/jpeg, image/gif, audio/basic, and video/mpeg using file creator and types in the attachment prefs. Other MIME attachments will be saved using '????' as both the type and creator. MacMIME is also supported so attachments encoded as application/applefile, application/binhex, or multipart/appledouble then they should get decoded correctly. I think it works with Eudora's multipart/headerset way of doing AppleDouble but I'm not sure. The method of picking type/creator for the different MIME types (in the attachment prefs dialog) is extremely lame, but it will have to do for now.
Ñ The section for attachments in incoming messages that have them is now collapsible (expand-o-matic arrow).
Ñ Modified the preferences dialog so that it uses one window and topics are specified with a popup menu.
Ñ Supports outgoing MIME attachments. Currently, all of the encoded attachments must be read into memory when sending the msg. This will probably cause problems with large attachments. I will try to fix this by sending the attachments throught the SMTP connection in pieces but that might not happen until the next version. For now, just increase the memory partition.
Ñ Added a 'PRFT' ID=128 resource (preference?) that is used by the attachment code to try to figure out the file type that you want to send.
Ñ The paperclip and checkmark on outgoing messages are back...
Ñ Fixed some printing problems.
Ñ Cleaned up message status code.
Ñ Added signature support (via preferences dialog).
Ñ Fixed problem with popup menus crashing on Mac II. (Menu ID and MDE were messed up.)
Ñ Can copy/paste in some dialog boxes. Still need to enable this for recipients' address info, however.
Ñ Moved most strings to resources to make localization easier.
Ñ Printing outgoing messages will print recipients and names of attachments.
Ñ Moved MailDrop-Comments address to a string resource so that email administrators at other sites can have their users send comments to them instead of Baylor (if they want). I hope to eventually have some type of URL clicking support and do something like NewsWatcher does in its About window...
Ñ Added GURL AppleScript support for mailto: URLs.
Ñ Rewrote mailbox updating code so that it uses the c-client co-routines better rather than rebuild the list from scratch each time. This should also fix some but not all problems with using Mail Drop with shared mailboxes. Let me know if this breaks anything.
Ñ Rewrote the preferences code (again?!!) so that it uses the following preferences resources
o PRFA 128 - Admin preferences. (Stored in app, not in prefs file.)
o PRFU 128 - User preferences.
o MIMO 128 - MIME Out file types and suffixes. No interface for this yet.
o MIMI 128 - MIME In file types and creators.
o STR 128 - Default user name.
o TEXT 128 - The signature.
Version history for earlier versions is available on-line at the web site listed in the Read Me file...